home *** CD-ROM | disk | FTP | other *** search
- 7300 '
- 7310 REM LINEAR REGRESSION OF Y ON X - SUBROUTINE
- 7320 '
- 7330 ' NEED IN THE MAIN PROGRAM:
- 7340 '
- 7350 ' n = number of observations
- 7360 ' dim nx(n), ny(n)
- 7365 ' open "scrn:" for output as #3
- 7370 '
- 7380 ' INITILIZE SUMS
- 7390 '
- 7400 XSUM=0!: YSUM=0! 'sums
- 7410 XSS=0!: YSS=0! 'sums of squares
- 7420 XYS=0! 'sum of x*y
- 7430 A=0!: B=0!: R2=0!
- 7440 '
- 7450 ' CALCULATE SUMS, SUMS SQUARES, SUM X*Y
- 7460 '
- 7470 FOR I=1 TO N
- 7480 XSUM=NX(I)+XSUM
- 7490 XSS=NX(I)*NX(I)+XSS
- 7500 YSUM=NY(I)+YSUM
- 7510 YSS=NY(I)*NY(I)+YSS
- 7520 XYS=NX(I)*NY(I)+XYS
- 7530 NEXT I
- 7540 '
- 7550 ' CALCULATE SLOPE(B), INTERCEPT(A), R**2 (R2)
- 7560 '
- 7570 XSUM2=XSUM*XSUM
- 7580 YSUM2=YSUM*YSUM
- 7590 XSYS=XSUM*YSUM
- 7600 BN=XYS-(XSYS/N)
- 7610 BD=XSS-(XSUM2/N)
- 7620 B=BN/BD
- 7630 AI=YSUM/N
- 7640 AS=B*(XSUM/N)
- 7650 A=AI-AS
- 7660 RD2=YSS-(YSUM2/N)
- 7670 R2=BN*BN/(BD*RD2)
- 7680 '
- 7690 ' CALCULATE USUAL STATISTICS
- 7700 '
- 7710 XBAR=XSUM/N
- 7720 XDEV=SQR(BD/(N-1))
- 7730 YBAR=YSUM/N
- 7740 YDEV=SQR(RD2/(N-1))
- 7750 SQN=SQR(N)
- 7760 XERR=XDEV/SQN
- 7770 YERR=YDEV/SQN
- 7780 '
- 7790 ' PRINT OUT RESULTS
- 7800 '
- 7820 PRINT#3,: PRINT#3,"A =";A
- 7830 PRINT#3,"B =";B
- 7840 PRINT#3,"R-squared =";R2
- 7845 PRINT#3,"# observations =";N
- 7850 PRINT#3,
- 7860 PRINT#3,"Mean of X =";XBAR," Std. Dev. =";XDEV," Std.Err. =";XERR
- 7870 PRINT#3,"Mean of Y =";YBAR," Std. Dev. =";YDEV," Std.Err. =";YERR
- 7880 PRINT#3,
- 7890 PRINT#3,"Sum of X =";XSUM," Sums of squares =";XSS
- 7900 PRINT#3,"Sum of Y =";YSUM," Sums of squares =";YSS
- 7910 PRINT#3,"Sum of X * Y =";XYS
- 7920 RETURN
- s of squares =";XSS
- 7900 PRINT#3,"Sum of Y =";YSUM,"